

#include<stdio.h>

void fist(int x,int y,int z)//3个数按大小排序
{
//写错了,elif 要满足前一个条件,应该用switch(连用if应该也行)
    int max=x;
    if (x>y && y>z)
    {
        printf("%d %d %d",x,y,z);
    }
    else if (x>z && z>y)
    {
        printf("%d %d %d",x,z,y);
    }
    else if (y>x && x>z)
    {
        printf("%d %d %d",y,x,z);
;    }
    else if (y>z && z>x)
    {
       printf("%d %d %d",y,z,x);
    }
    else if (z>x && x>y)
    {
       printf("%d %d %d",z,x,y);
    } 
    else
    {
       printf("%d %d %d",z,y,x);
    }

}

//优化
int fist2(int x,int y, int z)
{
    int tmp;

    if (x>y)//xy 互换
    {
        tmp = x;
        x=y;
        y=tmp;
        //xy 从小到大排好
    }
    if (x<z)
    {
        tmp =x;
        x=z;
        z=tmp;
        //第三个数最小
    }
    if (y>x)
    {
        tmp = x;
        x=y;
        y=tmp;

    }
    printf("%d %d %d",x,y,z);
    return 0;
}

// int main()
// {
//     int x,y,z;
//     scanf("%d%d%d",&x,&y,&z);
//     //fist2(x,y,z);

//     return 0;
// }

//写出100内被3整除的数
// int main()
// {
//     int i =1;
//     while (i<100)
//     {
       
//         if(i%3==0)
//         {
//             printf("%d ",i);
//         }
//         i++;
//     }
//     return 0;
// }

//最大公约数
int main()
{
    int a;
    int b;
    scanf("%d%d",&a,&b);
    if (a>b)//不要直接用x=-x,会出问题
    {
        int tmp =a;
        a=b;
        b=a;
    }

    int x=b-a;
  
    int i=1;
    for (i=x;i>0;i--)
    {
        if (b%i==0 && a%i==0)
        {
            printf("%d",i);
            break;
        }
    }
    return 0;
}